html,
body,
#app {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
.w100 {
  width: 100%;
}
.h100 {
  height: 100%;
}
.h-auto {
  height: auto;
}

/* flex */
.flx-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flx-justify-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flx-justify-around {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.flx-justify-start {
  display: flex;
  align-items: center;
  justify-content: start;
}
.flx-justify-end {
  display: flex;
  align-items: center;
  justify-content: end;
}
.flx-align-center {
  display: flex;
  align-items: center;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex {
  display: flex;
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex1 {
  flex: 1;
  text-align: center;
}
.flex3 {
  flex: 3;
}
.flex2 {
  flex: 2;
}
/* clearfix */
.clearfix::after {
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
  content: "";
}
.bg-none {
  background: none !important;
}

/* 文字单行省略号 */
.sle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 文字多行省略号 */
.mle {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* 文字多了自动換行 */
.break-word {
  word-break: break-all;
  word-wrap: break-word;
}

/* scroll bar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-thumb {
  background-color: var(--el-border-color-darker);
  border-radius: 20px;
}

/* nprogress */
#nprogress .bar {
  background: var(--el-color-primary) !important;
}
#nprogress .spinner-icon {
  border-top-color: var(--el-color-primary) !important;
  border-left-color: var(--el-color-primary) !important;
}
#nprogress .peg {
  box-shadow:
    0 0 10px var(--el-color-primary),
    0 0 5px var(--el-color-primary) !important;
}
@for $i from 12 through 32 {
  .fs#{$i} {
    font-size: #{$i}px !important;
  }
}
.bold {
  font-weight: bold;
}

/* 外边距、内边距全局样式 */
@for $i from 0 through 20 {
  .mt#{$i} {
    margin-top: #{$i}px !important;
  }
  .mr#{$i} {
    margin-right: #{$i}px !important;
  }
  .mb#{$i} {
    margin-bottom: #{$i}px !important;
  }
  .ml#{$i} {
    margin-left: #{$i}px !important;
  }
  .pt#{$i} {
    padding-top: #{$i}px !important;
  }
  .pr#{$i} {
    padding-right: #{$i}px !important;
  }
  .pb#{$i} {
    padding-bottom: #{$i}px !important;
  }
  .pl#{$i} {
    padding-left: #{$i}px !important;
  }
  .p#{$i} {
    padding: #{$i}px;
  }
  .m#{$i} {
    margin: #{$i}px;
  }
}

.mt40 {
  margin-top: 40px;
}
.mlr45 {
  margin: 0 45px;
}

//文字对齐方式
.txt-c {
  text-align: center;
}
.txt-r {
  text-align: right;
}

//文字颜色
.txt-blue {
  color: #1890ff;
}
.txt-red {
  color: #ff4d4f;
}
.txt-gray {
  color: #606266;
}
.txt-black {
  color: #333;
  font-weight: 700;
}
.txt-green,
.txt-success {
  color: #339966;
}
.txt-yellow,
.txt-warn {
  color: #f3dc10;
}
.txt-orange {
  color: #ff8800;
}
.txt-light_orange {
  color: #b3e19d;
}

.cursor {
  cursor: pointer;
}
.file-name {
  cursor: pointer;
}
.b-box {
  box-sizing: border-box;
}

//下拉菜单
.op-dropdown {
  cursor: pointer;
  color: var(--el-color-primary);
  display: flex;
  align-items: center;
  &:focus-visible {
    outline: none;
  }
}
//表格操作行
td.table-ope {
  .cell {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.module-title {
  border-left: 5px solid #1890ff;
  padding-left: 8px;
  font-weight: 700;
  font-size: 16px;
}
.bg-white {
  background-color: #fff;
}
.warn-title {
  font-size: 22px;
  font-weight: bold;
}
